import TooltipsData from "@/views/card/js/data/tooltipsData/tooltips-data.js";



/** CardDataCommonDefault
 * [CardDataCommonDefault description]
 * @type {Object}
 * card 类型的一些公用参数
 */
export const CardDataCommonDefault = {
  "Idx_index": "",  // 当前索引
  "Idx_name": "",  // 当前card实例名称,自动生成,一旦生成,不能改变,没有符号,{站点_8位数字加字母大小写}
  "Idx_type": "",  // 默认样式类型
  "Idx_visible": "1",
  "Idx_actionlog": "1",  // 0不开启统计, 1开启统计
  "card_type": 0,
  "card_type_name": "",
};



/** CardEditableParamsDefault
 * [CardEditableParamsDefault CardEditableParamsLists 中 param default]
 * @type {Object}
 * 复合类型: Lists / Obj
 * 简单类型: InputNormal / TextareaNormal / SliderNormal / SwitchNormal / ImageNormal / ImagePidNormal / ColorNormal / DropdownNormal /
 * !注释参数皆有可能会用到
 */
/*  param_effect_parent
    // param_effect_parent: {
    //   effect_parent_keys: [],  // 'a', '0'      TODO: 数组：ARRAY_NUM
    //
    //   effect_type: [],
          // INIT(初始化值)
          // SHOW_HIDE(显示隐藏)
          // ADD_ITEM(list params)
          // CHANGE_PARAMS (obj params)
          // COPY(复制赋值)
          // CTP_COMMON(child to parent 子元素提升到父级，成公共属性)
          // MID_JOIN(拼接数组的 mids)
          // CHANGE_CONFIG
    //
    //   effect_parent_val: '',  // 该值时 执行 effect_type
    //   effect_clear: {  // 受 SHOW_HIDE 影响
    //     effect_clear_default_val: '',  // default
    //   },
    //   effect_list_vals: {  // 受 INIT 影响
    //     xxx_1: null,
    //     xxx_2: nul,
    //     ...
    //   },
    //   effect_list_params: [  // 受 ADD_ITEM 影响
    //     {
    //       effect_regular: new RegExp("^0$"),
    //       effect_list_params_keys: ['group', '0'],
    //     },
    //     ...
    //   ],
    //   effect_obj_params: [  // 受 CHANGE_PARAMS 影响
    //     {
    //       effect_regular: new RegExp("^link$"),
    //       effect_new_obj_params: {
    //         scheme: '',
    //         hide_enable: 1,
    //       },
    //     },
    //     ...
    //   ],
    //   effect_copy: {  // 受 COPY 影响
    //      prefix: '',
    //      suffix: '',
    //      effect_regular: '',
    //   },
    //  effect_mid_join: {
    //      key: '',
    //  },  // 受 MID_JOIN 影响
    //  effect_cofing: {
    //    xxx_1: { // config },
    //    xxx_2: { // config },
    //    xxx_3: { // config },
    //    ...
    //  },
    // },
 */
export const CardEditableParamsDefault = {
  /* 复合参数 */
  Lists: {
    param_type: 'Lists',
    label: '',
    // limit: 0,  // <= 0 | false: 无限制； > 0: 限制
    param_params: {
      // xxx: {},
    },

    // param_effect_parent: {},
  },
  Obj: {
    param_type: 'Obj',
    label: '',
    param_params: {
      // xxx: {}
    },

    // param_effect_parent: {},
  },

  /* 简单参数 */
  InputNormal: {
    param_type: 'InputNormal',
    label: 'label',
    placeholder: '请填入',
    // unit: '',
    // maxLength: '',
    // disabled: false,
    // type: 'text',

    // param_effect_parent: {},
  },
  TextareaNormal: {
    param_type: 'TextareaNormal',
    label: 'label',
    placeholder: '请填入',
    // row: 1,

    // param_effect_parent: {},
  },
  SliderNormal: {
    param_type: 'SliderNormal',
    label: 'label',
    step: 1,
    // max: 100,
    // min: 0,
    // unit: '',
    // disabled: false,

    // param_effect_parent: {},
  },
  SwitchNormal: {
    param_type: 'SwitchNormal',
    label: 'label',
    // bIsUpdateManual: false,
    // boolReplace: {
    //   boolTrue: '1',
    //   boolFalse: '0',
    // },
    // tooltip: {
    //   content: '',  // TODO: 显示的内容，也可以通过 slot#content 传入 DOM
    //   placement: 'top',  // top/top-start/top-end/bottom/bottom-start/bottom-end/left/left-start/left-end/right/right-start/right-end
    //   effect: 'dark',  // dark/light
    // },

    // param_effect_parent: {},
  },
  DropdownNormal: {
    param_type: 'DropdownNormal',
    label: 'label',
    placeholder: '请选择',
    valLists: [
      {
        name: 'name',  // 默认类型
        value: '0',
      },
    ],
    // minVal: 12,  // Number
    // bIsBtn: false,

    // param_effect_parent: {},
  },
  ImageNormal: {
    param_type: 'ImageNormal',
    // res_type: '',  // Array : fileList, String : value
    label: 'label',
    placeholder: '请选择',
    tooltips: TooltipsData.image[999],
    // action: '',  // *必须
    // limit: 1,
    // data: {},  // *必须
    // size: 500, // k
    // accept: 'image/*',  // 如: .jpg, .jpeg, .png
    // prefix: '',
    // suffix: '',
    // fileList: [],
    // value: '',

    // param_effect_parent: {},
  },
  ImagePidNormal: {
    param_type: 'ImagePidNormal',
    label: 'label',
    placeholder: '请选择',
    tooltips: TooltipsData.image[999],
    // action: '',  // *必须
    // limit: 1,
    // data: {},  // *必须
    // size: 500, // k
    // accept: 'image/*',  // 如: .jpg, .jpeg, .png
    // prefix: '',
    // suffix: '',
    // fileList: [],

    // param_effect_parent: {},
  },
  ColorNormal: {
    param_type: 'ColorNormal',
    label: 'label',
    value: '',
    // format: '',  // hsl / hsv / hex / rgb
    // isAlpha: false,  // Boolean

    // param_effect_parent: {},
  },

  /* 其他参数 */
  Action: {
    param_type: 'Action',
    label: '',

    // param_effect_parent: {},
  },
  MixedInput: {
    param_type: 'MixedInput',
    label: '',
  },
};



/** CardDataEditableParamsCommonDefault
 * [CardDataEditableParamsCommonDefault description]
 * @type {Object}
 * card params 的一些公用配置
 */
export const CardDataEditableParamsCommonDefault = {
  Idx_visible: {
    ..._.cloneDeep(CardEditableParamsDefault.SwitchNormal),
    label: '可见（是|否）',
    bIsUpdateManual: true,
    boolReplace: {
      boolTrue: '1',
      boolFalse: '0',
    },
    tooltips: TooltipsData.others[3],
  },
  Idx_actionlog: {
    ..._.cloneDeep(CardEditableParamsDefault.SwitchNormal),
    label: '开启统计',
    bIsUpdateManual: true,
    boolReplace: {
      boolTrue: '1',
      boolFalse: '0',
    },
    tooltips: TooltipsData.others[4],
  },
};
